﻿/*
 * VerticalDatumType
 * 
 * initial implementation : 20.11.2008
 *
 * Copyright (c) Adam Sida, asida@centrum.cz.
 * All rights reserved.
 * 
 * for license see Petra.Gis.License.txt
 */
using System;


namespace Petra.Gis.ReferenceSystemServices
{

    public partial class VerticalDatum : Datum
  {
      public enum VerticalDatumType : int
      {
        /// <summary>
        /// Unspecified vertical datum type.
        /// </summary>
        Unspecified = 2000,

        /// <summary>
        /// A vertical datum for orthometric heights that are measured along the plumb line.
        /// </summary>
        Orthometric = 2001,

        /// <summary>
        /// A vertical datum for ellipsoidal heights that are measured along the normal to
        /// the ellipsoid used in the definition of horizontal datum.
        /// </summary>
        Ellipsoidal = 2002,

        /// <summary>
        /// The vertical datum of altitudes or heights in the atmosphere. These are
        /// approximations of orthometric heights obtained with the help of a barometer or
        /// a barometric altimeter. These values are usually expressed in one of the
        /// following units: meters, feet, millibars (used to measure pressure levels), or
        /// theta value (units used to measure geopotential height).
        /// </summary>
        AltitudeBarometric = 2003,

        /// <summary>
        /// A normal height system.
        /// </summary>
        Normal = 2004,

        /// <summary>
        /// A vertical datum of geoid model derived heights, also called GPS-derived heights.
        /// These heights are approximations of orthometric heights (H), constructed from the
        /// ellipsoidal heights (h) by the use of the given geoid undulation model (N) 
        /// through the equation: H=h-N.
        /// </summary>
        GeoidModelDerived = 2005,

        /// <summary>
        /// This attribute is used to support the set of datums generated for hydrographic
        /// engineering projects where depth measurements below sea level are needed. It is
        /// often called a hydrographic or a marine datum. Depths are measured in the 
        /// direction perpendicular (approximately) to the actual equipotential surfaces of
        /// the earth's gravity field, using such procedures as echo-sounding.
        /// </summary>
        Depth = 2006,

        /// <summary>
        /// Altitude is given as relative value to specific sea level
        /// </summary>
        SeaLevel = 2007


      }



      public static readonly VerticalDatumType AltitudeBarometric = VerticalDatumType.AltitudeBarometric;
      public static readonly VerticalDatumType Depth = VerticalDatumType.Depth;
      public static readonly VerticalDatumType Ellipsoidal = VerticalDatumType.Ellipsoidal;
      public static readonly VerticalDatumType GeoidModelDerived = VerticalDatumType.GeoidModelDerived;
      public static readonly VerticalDatumType Normal = VerticalDatumType.Normal;
      public static readonly VerticalDatumType Orthometric = VerticalDatumType.Orthometric;
      public static readonly VerticalDatumType SeaLevel = VerticalDatumType.SeaLevel;
      public static readonly VerticalDatumType Unspecified = VerticalDatumType.Unspecified;
  }
}
